In [1]:
rm(list=ls())
gc()
setwd("/hpc/group/pbenfeylab/CheWei/")
A matrix: 2 x 6 of type dbl
used(Mb)gc trigger(Mb)max used(Mb)
Ncells 62207033.3135392172.4107591057.5
Vcells1153590 8.9838860864.0180227713.8
In [2]:
as.numeric(system("awk '/MemFree/ {print $2}' /proc/meminfo", intern=TRUE))
options(future.globals.maxSize = 600000 * 1024^2)
49839632
In [3]:
suppressMessages(library(Seurat))
suppressMessages(library(ggplot2))
suppressMessages(library(dplyr))
suppressMessages(library(ComplexHeatmap))
suppressMessages(library(circlize))
suppressMessages(library(RColorBrewer))
In [4]:
sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-conda-linux-gnu (64-bit)
Running under: AlmaLinux 9.3 (Shamrock Pampas Cat)

Matrix products: default
BLAS/LAPACK: /hpc/group/pbenfeylab/ch416/miniconda3/envs/seu3/lib/libopenblasp-r0.3.21.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods  
[8] base     

other attached packages:
[1] RColorBrewer_1.1-3    circlize_0.4.15       ComplexHeatmap_2.14.0
[4] dplyr_1.0.10          ggplot2_3.4.0         Seurat_3.1.5         

loaded via a namespace (and not attached):
  [1] nlme_3.1-161        tsne_0.1-3.1        matrixStats_0.63.0 
  [4] doParallel_1.0.17   RcppAnnoy_0.0.20    httr_1.4.4         
  [7] repr_1.1.4          sctransform_0.3.5   tools_4.2.2        
 [10] utf8_1.2.2          R6_2.5.1            irlba_2.3.5.1      
 [13] KernSmooth_2.23-20  BiocGenerics_0.44.0 uwot_0.1.14        
 [16] DBI_1.1.3           lazyeval_0.2.2      colorspace_2.0-3   
 [19] GetoptLong_1.0.5    withr_2.5.0         tidyselect_1.2.0   
 [22] gridExtra_2.3       compiler_4.2.2      cli_3.6.0          
 [25] plotly_4.10.1       scales_1.2.1        lmtest_0.9-40      
 [28] ggridges_0.5.4      pbapply_1.6-0       pbdZMQ_0.3-8       
 [31] stringr_1.5.0       digest_0.6.31       base64enc_0.1-3    
 [34] pkgconfig_2.0.3     htmltools_0.5.4     parallelly_1.33.0  
 [37] fastmap_1.1.0       GlobalOptions_0.1.2 htmlwidgets_1.6.1  
 [40] rlang_1.0.6         shape_1.4.6         generics_0.1.3     
 [43] zoo_1.8-11          jsonlite_1.8.4      ica_1.0-3          
 [46] magrittr_2.0.3      patchwork_1.1.2     Matrix_1.5-3       
 [49] S4Vectors_0.36.1    Rcpp_1.0.9          IRkernel_1.3.1.9000
 [52] munsell_0.5.0       fansi_1.0.3         ape_5.6-2          
 [55] reticulate_1.27     lifecycle_1.0.3     stringi_1.7.8      
 [58] MASS_7.3-58.1       Rtsne_0.16          plyr_1.8.8         
 [61] parallel_4.2.2      listenv_0.9.0       ggrepel_0.9.2      
 [64] crayon_1.5.2        lattice_0.20-45     IRdisplay_1.1      
 [67] cowplot_1.1.1       splines_4.2.2       pillar_1.8.1       
 [70] igraph_1.3.5        uuid_1.1-0          rjson_0.2.21       
 [73] stats4_4.2.2        future.apply_1.10.0 reshape2_1.4.4     
 [76] codetools_0.2-18    leiden_0.4.3        glue_1.6.2         
 [79] evaluate_0.19       data.table_1.14.6   foreach_1.5.2      
 [82] png_0.1-8           vctrs_0.5.1         gtable_0.3.1       
 [85] RANN_2.6.1          purrr_1.0.0         tidyr_1.2.1        
 [88] clue_0.3-63         future_1.30.0       assertthat_0.2.1   
 [91] rsvd_1.0.5          survival_3.4-0      viridisLite_0.4.1  
 [94] tibble_3.1.8        iterators_1.0.14    IRanges_2.32.0     
 [97] cluster_2.1.4       globals_0.16.2      fitdistrplus_1.1-8 
[100] ROCR_1.0-11        
In [5]:
pp.genes <- as.character(read.table("./CW_data/escoring/Root_sc/Protoplasting_DEgene_FC2_list.txt", header=F)$V1)
In [6]:
use.sample <- c('sc_12','dc1','dc2','sc_130','sc_134','sc_133','sc_137')
In [7]:
read_seu <- function(dir,sample.name) { 
  seu <- readRDS(dir) 
  seu@assays$spliced_RNA <- NULL
  seu@assays$spliced_SCT <- NULL
  seu@assays$unspliced_RNA <- NULL
  seu@assays$unspliced_SCT <- NULL
  return(seu)
}

list.filenames <- list.files(path = "./COPILOT_other_projects/to_be_integrate/",pattern=".rds$") %>% .[match(use.sample, gsub("_COPILOT.rds","",.))]

rc.list <- list()

for (i in 1:length(list.filenames))
{   print(i)
    rc.list[[i]]<-read_seu(dir = paste0("./COPILOT_other_projects/to_be_integrate/",list.filenames[i]), sample.name = use.sample[i])
    rc.list[[i]]$time.anno.Li <- gsub("_.*$","",rc.list[[i]]$time.celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^.*_","",rc.list[[i]]$time.celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Distal ","",rc.list[[i]]$celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Proximal ","",rc.list[[i]]$celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Metaxylem","Xylem",rc.list[[i]]$celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Protoxylem","Xylem",rc.list[[i]]$celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Protophloem","Phloem",rc.list[[i]]$celltype.anno.Li)
    rc.list[[i]]$celltype.anno.Li <- gsub("^Metaphloem & Companion Cell","Phloem",rc.list[[i]]$celltype.anno.Li)
    
}

names(rc.list) <- list.filenames %>% gsub("./COPILOT_other_projects/to_be_integrate/","",.)

#for (i in 1:length(list.filenames))
#{
#  rc.list[[i]]<- suppressWarnings(suppressMessages(UpdateSeuratObject(rc.list[[i]])))
#}

#for (i in 1:length(list.filenames))
#{
#  rc.list[[i]] <-  FindVariableFeatures(rc.list[[i]], selection.method = "vst", nfeatures = 2000)
#}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
In [8]:
rc.list
$sc_12_COPILOT.rds
An object of class Seurat 
49648 features across 10293 samples within 2 assays 
Active assay: SCT (23357 features, 23357 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$dc1_COPILOT.rds
An object of class Seurat 
47748 features across 3378 samples within 2 assays 
Active assay: SCT (21818 features, 21818 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$dc2_COPILOT.rds
An object of class Seurat 
47752 features across 3283 samples within 2 assays 
Active assay: SCT (22007 features, 22007 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$sc_130_COPILOT.rds
An object of class Seurat 
47003 features across 6656 samples within 2 assays 
Active assay: SCT (21436 features, 21436 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$sc_134_COPILOT.rds
An object of class Seurat 
47767 features across 7837 samples within 2 assays 
Active assay: SCT (22002 features, 22002 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$sc_133_COPILOT.rds
An object of class Seurat 
48815 features across 8424 samples within 2 assays 
Active assay: SCT (22455 features, 22455 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap

$sc_137_COPILOT.rds
An object of class Seurat 
48044 features across 2065 samples within 2 assays 
Active assay: SCT (21731 features, 21731 variable features)
 1 other assay present: RNA
 2 dimensional reductions calculated: pca, umap
In [9]:
rc.features <- SelectIntegrationFeatures(object.list = rc.list, nfeatures = 25000)
length(rc.features)
19735
In [10]:
## Remove Cell type specific DE genes
#rc.features <- rc.features[-c(sort(match(de, rc.features)))]
rc.features <- rc.features[-c(grep("ATMG",rc.features),grep("ATCG",rc.features),sort(match(pp.genes, rc.features)))]
length(rc.features)
17332
In [11]:
rc.list <- PrepSCTIntegration(object.list = rc.list, anchor.features = rc.features, verbose = TRUE)
In [12]:
# Use sc_12 as reference
rc.anchors <- suppressMessages(FindIntegrationAnchors(object.list = rc.list, normalization.method = "SCT", 
    anchor.features = rc.features, verbose = TRUE, reference=1))
Warning message in CheckDuplicateCellNames(object.list = object.list):
“Some cell names are duplicated across objects provided. Renaming to enforce unique cell names.”
In [13]:
rc.integrated <- suppressMessages(IntegrateData(anchorset = rc.anchors, normalization.method = "SCT", verbose = TRUE))
Warning message:
“Adding a command log without an assay associated with it”
In [ ]:
rc.integrated <- RunPCA(rc.integrated, npcs = 50, verbose = FALSE, approx = FALSE)
In [ ]:
#rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, metric = "correlation", n.components = 3)
#rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, umap.method = "umap-learn", metric = "correlation", n.components = 3)
#rc.integrated@reductions$umap_3D <- rc.integrated@reductions$umap
#rc.integrated <- suppressMessages(RunUMAP(rc.integrated, reduction = "pca", dims = 1:4))
rc.integrated <- RunUMAP(rc.integrated, reduction = "pca", dims = 1:50, umap.method = "umap-learn", metric = "correlation")
rc.integrated@reductions$umap_2D <- rc.integrated@reductions$umap
rc.integrated <- suppressMessages(FindNeighbors(rc.integrated, reduction = "pca",dims = 1:50))
rc.integrated <- suppressMessages(FindClusters(rc.integrated, resolution = 0.5, algorithm = 3))
In [42]:
saveRDS(rc.integrated, file = "./scRNA-seq/Integrated_Objects/rc.integrated_7S_GL2_lines_seu3_20240129.rds")
In [7]:
rc.integrated <- readRDS("./scRNA-seq/Integrated_Objects/rc.integrated_7S_GL2_lines_seu3_20240129.rds")
In [26]:
length(rownames(rc.integrated))
17332
In [20]:
rc.integrated
An object of class Seurat 
71562 features across 41936 samples within 3 assays 
Active assay: integrated (17332 features, 17332 variable features)
 2 other assays present: RNA, SCT
 3 dimensional reductions calculated: pca, umap, umap_2D

UMAP¶

In [22]:
#rc.integrated[["umap"]]@cell.embeddings[,1] <- rc.integrated[["umap"]]@cell.embeddings[,1]*-1
#rc.integrated[["umap"]]@cell.embeddings[,2] <- rc.integrated[["umap"]]@cell.embeddings[,2]*-1
u2 <- rc.integrated@reductions$umap@cell.embeddings[,1]
u1 <- rc.integrated@reductions$umap@cell.embeddings[,2]
rc.integrated@reductions$umap@cell.embeddings[,1] <- u1
rc.integrated@reductions$umap@cell.embeddings[,2] <- u2
In [23]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.integrated, reduction = "umap", group.by = "seurat_clusters", label = TRUE)
No description has been provided for this image
In [24]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.integrated, reduction = "umap", group.by = "orig.ident", label = FALSE)
No description has been provided for this image
In [25]:
table(rc.integrated$orig.ident, rc.integrated$seurat_clusters)
        
            0    1    2    3    4    5    6    7    8    9   10   11   12   13
  dc1     462  206  177  301  115  158  183  540   72   76  504   94  128    5
  dc2     407  268  214  317  111  132  227  445   61   77  386   67  132    8
  sc_12   725  720  466  549 1043  618  857  289  470  839  298  350  339  349
  sc_130  320  757  547  208  204  336  171  196  489  210   80  388  392  424
  sc_133  805  489  346  449  311  493  328  449  630  161  282  596  442  218
  sc_134  575  633  681  438  453  428  391  171  336  385  163  227  278  465
  sc_137  159  200  141  120   96  123   79   96   83   71  104   71   58   51
        
           14   15   16   17   18   19   20   21   22
  dc1      37   12   15   29   72  130   25    2   35
  dc2      41   38    8   36   81  139   40    9   39
  sc_12   334  428  203  519  210  134  242   81  230
  sc_130  385  210  278  185  146  250  208  168  104
  sc_133  323  330  454  168  236  269  176  377   92
  sc_134  312  342  244  258  357  141  217  182  160
  sc_137   83  155   42   47   79   45   20  105   37
In [26]:
plot_anno <- function(rc.integrated){
order <- c("Quiescent Center", "Ground Tissue","Columella", "Lateral Root Cap", "Atrichoblast", "Trichoblast", "Cortex", "Endodermis", "Phloem","Protophloem", "Xylem", "Procambium","Pericycle","Phloem Pole Pericycle", "Protoxylem", "Metaxylem", "Unknown")
palette <- c("#9400d3", "#DCD0FF","#5ab953", "#bfef45", "#008080", "#21B6A8", "#82b6ff", "#0000FF","#e6194b", "#dd77ec", "#9a6324", "#ffe119", "#ff9900", "#ffd4e3", "#9a6324", "#ddaa6f", "#EEEEEE")
rc.integrated$celltype.anno.Li.crude <- factor(rc.integrated$celltype.anno.Li.crude, levels = order[sort(match(unique(rc.integrated$celltype.anno.Li.crude),order))]) 
color <- palette[sort(match(unique(rc.integrated$celltype.anno.Li.crude),order))]
p1 <- DimPlot(rc.integrated, reduction = "umap", group.by = "celltype.anno.Li.crude", cols=color)
p2 <- DimPlot(rc.integrated, reduction = "umap", group.by = "time.anno.Li.crude", order = c("Distal Columella","Proximal Columella","Distal Lateral Root Cap","Proximal Lateral Root Cap","Maturation","Elongation", "Transition Domain", "Proliferation Domain"),
        cols = c('#F7E7B0','#FFC400','#2B871F','#005E3B',"#deebf7", "#3182bd", '#fee0d2','#de2d26'))
p3 <- DimPlot(rc.integrated, reduction = "umap", group.by = "consensus.time.group", cols=brewer.pal(10,"Spectral"))
p4 <- DimPlot(rc.integrated, reduction = "umap", group.by = "branch.anno")
options(repr.plot.width=16, repr.plot.height=12)
gl <- lapply(list(p1, p2, p3, p4), ggplotGrob)
gwidth <- do.call(unit.pmax, lapply(gl, "[[", "widths"))
gl <- lapply(gl, "[[<-", "widths", value = gwidth)
gridExtra::grid.arrange(grobs=gl, ncol=2)
}
In [27]:
prep <- function(seu){
seu$time.anno.Li.crude <- gsub("_.*$","",seu$time.celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Distal Columella","Distal Columella_Columella",seu$time.celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Distal Lateral Root Cap","Distal Lateral Root Cap_Lateral Root Cap",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Proximal Columella","Proximal Columella_Columella",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("Proximal Lateral Root Cap","Proximal Lateral Root Cap_Lateral Root Cap",seu$celltype.anno.Li.crude)
seu$celltype.anno.Li.crude <- gsub("^.*_","",seu$celltype.anno.Li.crude)
    return(seu)
}
In [28]:
rc.integrated <- prep(rc.integrated)
In [29]:
options(repr.plot.width=12, repr.plot.height=12)
plot_anno(rc.integrated)
No description has been provided for this image
In [30]:
DefaultAssay(rc.integrated) <- "SCT"
In [31]:
options(repr.plot.width=7, repr.plot.height=7)
FeaturePlot(rc.integrated, reduction = "umap", features = "GL2-BRI1-GFP", pt.size=1)
No description has been provided for this image

Remove sc_12, dc1, dc2¶

In [32]:
rc.sub <- subset(rc.integrated, cells=colnames(rc.integrated)[rc.integrated$orig.ident %in% c("sc_130", "sc_133", "sc_134", "sc_137")])
In [33]:
rc.sub
An object of class Seurat 
71562 features across 24982 samples within 3 assays 
Active assay: SCT (24786 features, 0 variable features)
 2 other assays present: RNA, integrated
 3 dimensional reductions calculated: pca, umap, umap_2D
In [34]:
options(repr.plot.width=12, repr.plot.height=12)
plot_anno(rc.sub)
No description has been provided for this image
In [35]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.sub, reduction = "umap", group.by = "seurat_clusters", label = TRUE)
No description has been provided for this image
In [36]:
options(repr.plot.width=8, repr.plot.height=8)
DimPlot(rc.sub, reduction = "umap", group.by = "orig.ident", label = FALSE)
No description has been provided for this image
In [37]:
colnames(rc.sub@meta.data)
  1. 'orig.ident'
  2. 'nCount_RNA'
  3. 'nFeature_RNA'
  4. 'nCount_spliced_RNA'
  5. 'nFeature_spliced_RNA'
  6. 'nCount_unspliced_RNA'
  7. 'nFeature_unspliced_RNA'
  8. 'percent.mt'
  9. 'percent.cp'
  10. 'nCount_SCT'
  11. 'nFeature_SCT'
  12. 'nCount_spliced_SCT'
  13. 'nFeature_spliced_SCT'
  14. 'nCount_unspliced_SCT'
  15. 'nFeature_unspliced_SCT'
  16. 'pANN_0.25_0.15_943'
  17. 'DF.classifications_0.25_0.15_943'
  18. 'celltype.ID'
  19. 'timezone.ID'
  20. 'celltype.cor'
  21. 'timezone.cor'
  22. 'celltype.pvalue'
  23. 'timezone.pvalue'
  24. 'celltype.ID.P'
  25. 'timezone.ID.P'
  26. 'celltype.cor.P'
  27. 'timezone.cor.P'
  28. 'celltype.pvalue.P'
  29. 'timezone.pvalue.P'
  30. 'Rad.ID'
  31. 'Long.ID'
  32. 'Rad.cor'
  33. 'Long.cor'
  34. 'Rad.pvalue'
  35. 'Long.pvalue'
  36. 'Rad.ID.P'
  37. 'Long.ID.P'
  38. 'Rad.cor.P'
  39. 'Long.cor.P'
  40. 'Rad.pvalue.P'
  41. 'Long.pvalue.P'
  42. 'SCT_snn_res.5'
  43. 'seurat_clusters'
  44. 'seucluster.celltype.cor'
  45. 'seucluster.celltype.pvalue'
  46. 'seucluster.celltype.ID'
  47. 'seucluster.celltype.cor.P'
  48. 'seucluster.celltype.pvalue.P'
  49. 'seucluster.celltype.ID.P'
  50. 'seucluster.timezone.cor'
  51. 'seucluster.timezone.pvalue'
  52. 'seucluster.timezone.ID'
  53. 'seucluster.timezone.cor.P'
  54. 'seucluster.timezone.pvalue.P'
  55. 'seucluster.timezone.ID.P'
  56. 'seucluster.Rad.cor'
  57. 'seucluster.Rad.pvalue'
  58. 'seucluster.Rad.ID'
  59. 'seucluster.Rad.cor.P'
  60. 'seucluster.Rad.pvalue.P'
  61. 'seucluster.Rad.ID.P'
  62. 'seucluster.Long.cor'
  63. 'seucluster.Long.pvalue'
  64. 'seucluster.Long.ID'
  65. 'seucluster.Long.cor.P'
  66. 'seucluster.Long.pvalue.P'
  67. 'seucluster.Long.ID.P'
  68. 'predicted.id'
  69. 'prediction.score.Meristem.Atrichoblast'
  70. 'prediction.score.Elongation.Atrichoblast'
  71. 'prediction.score.Elongation.Cortex'
  72. 'prediction.score.Maturation.Columella'
  73. 'prediction.score.Meristem.Lateral.Root.Cap'
  74. 'prediction.score.Elongation.Pericycle'
  75. 'prediction.score.Elongation.Xylem'
  76. 'prediction.score.Elongation.Lateral.Root.Cap'
  77. 'prediction.score.Maturation.Pericycle'
  78. 'prediction.score.Elongation.Endodermis'
  79. 'prediction.score.Elongation.Phloem'
  80. 'prediction.score.Maturation.Procambium'
  81. 'prediction.score.Meristem.Putative.Quiescent.Center'
  82. 'prediction.score.Maturation.Endodermis'
  83. 'prediction.score.Maturation.Trichoblast'
  84. 'prediction.score.Maturation.Atrichoblast'
  85. 'prediction.score.Maturation.Cortex'
  86. 'prediction.score.Meristem.Phloem'
  87. 'prediction.score.Elongation.Columella'
  88. 'prediction.score.Elongation.Procambium'
  89. 'prediction.score.Meristem.Endodermis'
  90. 'prediction.score.Maturation.Xylem'
  91. 'prediction.score.Elongation.Trichoblast'
  92. 'prediction.score.Maturation.Lateral.Root.Cap'
  93. 'prediction.score.Meristem.Columella'
  94. 'prediction.score.Maturation.Phloem'
  95. 'prediction.score.Meristem.Stem.Cell.Niche'
  96. 'prediction.score.Meristem.Procambium'
  97. 'prediction.score.Meristem.Trichoblast'
  98. 'prediction.score.Meristem.Pericycle'
  99. 'prediction.score.Meristem.Cortex'
  100. 'prediction.score.Meristem.Xylem'
  101. 'prediction.score.max'
  102. 'time.celltype.anno'
  103. 'prediction.score.Atrichoblast'
  104. 'prediction.score.Cortex'
  105. 'prediction.score.Columella'
  106. 'prediction.score.Lateral.Root.Cap'
  107. 'prediction.score.Pericycle'
  108. 'prediction.score.Xylem'
  109. 'prediction.score.Endodermis'
  110. 'prediction.score.Phloem'
  111. 'prediction.score.Procambium'
  112. 'prediction.score.Putative.Quiescent.Center'
  113. 'prediction.score.Trichoblast'
  114. 'prediction.score.Stem.Cell.Niche'
  115. 'celltype.anno'
  116. 'prediction.score.Meristem'
  117. 'prediction.score.Elongation'
  118. 'prediction.score.Maturation'
  119. 'time.anno'
  120. 'prediction.score.T3'
  121. 'prediction.score.T7'
  122. 'prediction.score.T6'
  123. 'prediction.score.T2'
  124. 'prediction.score.T9'
  125. 'prediction.score.T4'
  126. 'prediction.score.T8'
  127. 'prediction.score.T0'
  128. 'prediction.score.T5'
  129. 'prediction.score.T1'
  130. 'consensus.time.group'
  131. 'prediction.score.Transition.Domain_Atrichoblast'
  132. 'prediction.score.Elongation_Atrichoblast'
  133. 'prediction.score.Elongation_Cortex'
  134. 'prediction.score.Distal.Columella'
  135. 'prediction.score.Proximal.Lateral.Root.Cap'
  136. 'prediction.score.Maturation_Cortex'
  137. 'prediction.score.Elongation_Phloem.Pole.Pericycle'
  138. 'prediction.score.Elongation_Protoxylem'
  139. 'prediction.score.Maturation_Xylem.Pole.Pericycle'
  140. 'prediction.score.Elongation_Endodermis'
  141. 'prediction.score.Elongation_Metaphloem...Companion.Cell'
  142. 'prediction.score.Maturation_Procambium'
  143. 'prediction.score.Elongation_Procambium'
  144. 'prediction.score.Proliferation.Domain_Atrichoblast'
  145. 'prediction.score.Elongation_Xylem.Pole.Pericycle'
  146. 'prediction.score.Maturation_Trichoblast'
  147. 'prediction.score.Maturation_Atrichoblast'
  148. 'prediction.score.Distal.Lateral.Root.Cap'
  149. 'prediction.score.Proliferation.Domain_Phloem.Pole.Pericycle'
  150. 'prediction.score.Transition.Domain_Endodermis'
  151. 'prediction.score.Transition.Domain_Trichoblast'
  152. 'prediction.score.Elongation_Trichoblast'
  153. 'prediction.score.Transition.Domain_Cortex'
  154. 'prediction.score.Maturation_Phloem.Pole.Pericycle'
  155. 'prediction.score.Elongation_Metaxylem'
  156. 'prediction.score.Transition.Domain_Phloem.Pole.Pericycle'
  157. 'prediction.score.Proliferation.Domain_Metaphloem...Companion.Cell'
  158. 'prediction.score.Proximal.Columella'
  159. 'prediction.score.Maturation_Protoxylem'
  160. 'prediction.score.Proliferation.Domain_Cortex'
  161. 'prediction.score.Proliferation.Domain_Trichoblast'
  162. 'prediction.score.Maturation_Metaphloem...Companion.Cell'
  163. 'prediction.score.Maturation_Endodermis'
  164. 'prediction.score.Transition.Domain_Metaphloem...Companion.Cell'
  165. 'prediction.score.Maturation_Protophloem'
  166. 'prediction.score.Proliferation.Domain_Endodermis'
  167. 'prediction.score.Proliferation.Domain_Quiescent.Center'
  168. 'prediction.score.Transition.Domain_Xylem.Pole.Pericycle'
  169. 'prediction.score.Proliferation.Domain_Metaxylem'
  170. 'prediction.score.Proliferation.Domain_Xylem.Pole.Pericycle'
  171. 'prediction.score.Transition.Domain_Metaxylem'
  172. 'prediction.score.Proliferation.Domain_Procambium'
  173. 'prediction.score.Transition.Domain_Procambium'
  174. 'prediction.score.Transition.Domain_Protophloem'
  175. 'prediction.score.Proliferation.Domain_Protoxylem'
  176. 'prediction.score.Elongation_Protophloem'
  177. 'prediction.score.Transition.Domain_Protoxylem'
  178. 'prediction.score.Proliferation.Domain_Protophloem'
  179. 'time.celltype.anno.Li'
  180. 'prediction.score.Elongation_Pericycle'
  181. 'prediction.score.Elongation_Xylem'
  182. 'prediction.score.Maturation_Pericycle'
  183. 'prediction.score.Elongation_Phloem'
  184. 'prediction.score.Proliferation.Domain_Pericycle'
  185. 'prediction.score.Transition.Domain_Pericycle'
  186. 'prediction.score.Proliferation.Domain_Phloem'
  187. 'prediction.score.Maturation_Xylem'
  188. 'prediction.score.Maturation_Phloem'
  189. 'prediction.score.Transition.Domain_Phloem'
  190. 'prediction.score.Proliferation.Domain_Xylem'
  191. 'prediction.score.Transition.Domain_Xylem'
  192. 'time.celltype.anno.Li.crude'
  193. 'prediction.score.Meristem_Atrichoblast'
  194. 'prediction.score.Meristem_Xylem.Pole.Pericycle'
  195. 'prediction.score.Meristem_Phloem.Pole.Pericycle'
  196. 'prediction.score.Meristem_Endodermis'
  197. 'prediction.score.Meristem_Trichoblast'
  198. 'prediction.score.Meristem_Cortex'
  199. 'prediction.score.Meristem_Metaphloem...Companion.Cell'
  200. 'prediction.score.Meristem_Quiescent.Center'
  201. 'prediction.score.Meristem_Protoxylem'
  202. 'prediction.score.Meristem_Metaxylem'
  203. 'prediction.score.Meristem_Procambium'
  204. 'prediction.score.Meristem_Protophloem'
  205. 'prediction.score.Meristem_Pericycle'
  206. 'prediction.score.Meristem_Phloem'
  207. 'prediction.score.Meristem_Xylem'
  208. 'time.celltype.anno.crude'
  209. 'prediction.score.Phloem.Pole.Pericycle'
  210. 'prediction.score.Protoxylem'
  211. 'prediction.score.Xylem.Pole.Pericycle'
  212. 'prediction.score.Metaphloem...Companion.Cell'
  213. 'prediction.score.Metaxylem'
  214. 'prediction.score.Protophloem'
  215. 'prediction.score.Quiescent.Center'
  216. 'celltype.anno.crude'
  217. 'prediction.score.non_branch'
  218. 'prediction.score.B2'
  219. 'prediction.score.B1'
  220. 'branch.anno'
  221. 'prediction.score.T14'
  222. 'prediction.score.T38'
  223. 'prediction.score.T23'
  224. 'prediction.score.T26'
  225. 'prediction.score.T35'
  226. 'prediction.score.T12'
  227. 'prediction.score.T33'
  228. 'prediction.score.T24'
  229. 'prediction.score.T46'
  230. 'prediction.score.T21'
  231. 'prediction.score.T25'
  232. 'prediction.score.T49'
  233. 'prediction.score.T29'
  234. 'prediction.score.T44'
  235. 'prediction.score.T34'
  236. 'prediction.score.T17'
  237. 'prediction.score.T30'
  238. 'prediction.score.T36'
  239. 'prediction.score.T47'
  240. 'prediction.score.T41'
  241. 'prediction.score.T18'
  242. 'prediction.score.T13'
  243. 'prediction.score.T15'
  244. 'prediction.score.T10'
  245. 'prediction.score.T19'
  246. 'prediction.score.T22'
  247. 'prediction.score.T32'
  248. 'prediction.score.T42'
  249. 'prediction.score.T48'
  250. 'prediction.score.T43'
  251. 'prediction.score.T37'
  252. 'prediction.score.T27'
  253. 'prediction.score.T16'
  254. 'prediction.score.T40'
  255. 'prediction.score.T28'
  256. 'prediction.score.T11'
  257. 'prediction.score.T39'
  258. 'prediction.score.T45'
  259. 'prediction.score.T31'
  260. 'prediction.score.T20'
  261. 'consensus.time.group.50'
  262. 'time.anno.Li'
  263. 'celltype.anno.Li'
  264. 'pANN_0.25_0.15_93'
  265. 'DF.classifications_0.25_0.15_93'
  266. 'pANN_0.25_0.15_88'
  267. 'DF.classifications_0.25_0.15_88'
  268. 'pANN_0.25_0.15_373'
  269. 'DF.classifications_0.25_0.15_373'
  270. 'SCT_snn_res.0.5'
  271. 'pANN_0.25_0.15_525'
  272. 'DF.classifications_0.25_0.15_525'
  273. 'pANN_0.25_0.15_1135'
  274. 'DF.classifications_0.25_0.15_1135'
  275. 'time.anno.Li.crude'
  276. 'celltype.anno.Li.crude'
  277. 'pANN_0.25_0.15_35'
  278. 'DF.classifications_0.25_0.15_35'
  279. 'integrated_snn_res.0.5'
In [38]:
options(repr.plot.width=8, repr.plot.height=8)
FeaturePlot(rc.sub, reduction = "umap", features = "nCount_SCT", pt.size=1)
No description has been provided for this image
In [39]:
options(repr.plot.width=8, repr.plot.height=8)
FeaturePlot(rc.sub, reduction = "umap", features = "prediction.score.Trichoblast", pt.size=1)
No description has been provided for this image
In [40]:
Idents(rc.sub) <- rc.sub$celltype.anno.Li.crude
In [41]:
options(repr.plot.width=8, repr.plot.height=8)
# you can plot raw counts as well
VlnPlot(rc.sub, features = c("GL2-BRI1-GFP"), slot="data")
No description has been provided for this image
In [43]:
saveRDS(rc.sub, file = "./scRNA-seq/Integrated_Objects/rc.integrated_4S_GL2_lines_seu3_20240129.rds")
In [ ]: